#include <iostream>
using namespace std;
const int N = 1e6 + 10;
int a[N], b[N], c[N];// a,b为加数，c为结果
int la, lb, lc;

// 高精度加法模版
void add(int c[], int a[], int b[])
{
    for(int i = 0;i < lc;i++)
    {
        c[i] = a[i] + b[i] + c[i];
        c[i + 1] = c[i] / 10;
        c[i] = c[i] % 10;
    }

    if(c[lc]) lc++;
}
int main()
{
    string x, y;
    cin >> x >> y;
    // 1. 拆分每一位，逆序存入到数组中
    la = x.size(), lb = y.size(), lc = max(la, lb);
    for(int i = 0;i < la;i++) a[i] = x[la - 1 - i] - '0';
    for(int i = 0;i < lb;i++) b[i] = y[lb - 1 - i] - '0';

    // 2. 模拟加法
    add(c, a, b);

    for(int i = lc - 1;i >= 0;i--) cout << c[i];
    return 0;
}